package com.amumu.drama.common.modules.fulu.dto.resp;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author sunzhuang
 * @date 2024/6/27 17:29
 * @slogan 天下风云出我辈, 一入代码岁月催
 * @desc todo
 */
@Data
public class DirectOrderInfoQueryResp implements Serializable {

    @ApiModelProperty("订单编号")
    private String orderId;

    @ApiModelProperty("外部订单号，每次请求必须唯一")
    private String customerOrderNo;

    @ApiModelProperty("商品Id")
    private Long productId;

    @ApiModelProperty("商品名称")
    private String productName;

    @ApiModelProperty("充值账号")
    private String chargeAccount;

    @ApiModelProperty("购买数量")
    private String buyNum;

    @ApiModelProperty("交易单价（单位：元）")
    private Double orderPrice;

    @ApiModelProperty("订单类型：1-话费 2-流量 3-卡密 4-直充")
    private Integer orderType;

    @ApiModelProperty("订单状态：success-成功，processing-处理中，failed-失败，untreated-未处理")
    private String orderState;

    @ApiModelProperty("创建时间")
    private String createTime;

    @ApiModelProperty("订单完成时间")
    private String finishTime;

    @ApiModelProperty("充值区（中文）,仅网游直充订单返回")
    private String area;

    @ApiModelProperty("充值服（中文）,仅网游直充订单返回")
    private String server;

    @ApiModelProperty("计费方式（中文）,仅网游直充订单返回")
    private String type;

    @ApiModelProperty("卡密（券码）信息，卡密商品或部分直充商品返回")
    private List<CardInfo> cards;

    @ApiModelProperty("运营商流水号")
    private String operatorSerialNumber;

    @Data
    public static class CardInfo {

        @ApiModelProperty("卡类型 0.普通卡密 1.二维码 2.短链")
        private Integer cardType;

        @ApiModelProperty("卡号")
        private String cardNumber;

        @ApiModelProperty("密码")
        private String cardPwd;

        @ApiModelProperty("卡密有效期")
        private String cardDeadline;
    }
}
